
package cn.mxp.a01_singleton;

// 懒汉模式（懒加载，线程安全）
public class Singleton03 {
    // 1、构造器私有化，外部不能new
    private Singleton03() {}

    // 2、存放实例对象，用做单例唯一对象
    private static Singleton03 instance;

    // 3、提供一个公有的静态方法，返回实例对象
    public static Singleton03 getInstance() {
        // 在方法调用时判断instance是否为空，为空就创建实例对象，实现懒加载形式
        if (instance == null) {
            synchronized (Singleton03.class) {
                if (instance == null) {
                    instance = new Singleton03();
                }
            }
        }
        return instance;
    }
}
